package com.hippo.javacore.javaiostream.charset;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

/**
 * @ClassName charsetOpt
 * @Description TODO 字符集编码解码
 * @Author tangxl
 * @create 2023-04-06 11:34
 **/
public class charsetOpt {
    public static void main(String[] args) throws UnsupportedEncodingException {
        // TODO 字符集编码解码
        // 1.编码：字符串-->字节数组
        // 2.解码：字节数组-->字符串
        // 3.编码和解码的字符集要一致，否则会出现乱码

        // 1.编码：字符串-->字节数组
        String s = "你好";
        byte[] bytes1 = s.getBytes();// 默认使用工程的字符集(UTF-8)进行编码
        byte[] bytes2 = s.getBytes("GBK");// 使用指定字符集(GBK)进行编码
        System.out.println("UTF-8编码："+Arrays.toString(bytes1));
        System.out.println("GBK编码："+Arrays.toString(bytes2));

        // 2.解码：字节数组-->字符串
        String s1 = new String(bytes1);// 默认使用工程的字符集(UTF-8)进行解码
        String s2 = new String(bytes2, "GBK"); // 使用指定字符集(GBK)进行解码
        System.out.println("UTF-8解码："+s1);
        System.out.println("GBK解码："+s2);
    }
}
